package com.sh.rbac.service;

import com.sh.rbac.domain.dto.auth.AccountLoginDTO;
import com.sh.rbac.domain.entity.User;

import java.util.Map;

/**
 * 认证服务接口
 *
 * @author wb
 * @since 2025-10-11
 */
public interface AuthService {


    /**
     * 账号登录
     *
     * @param accountLoginDTO 账号登录参数
     * @return 登录结果
     */
    Map<String, Object> accountLogin(AccountLoginDTO accountLoginDTO);


    /**
     * 获取用户信息
     *
     * @return 用户信息
     */
    User getInfo();

    /**
     * 退出登录
     *
     * @return 退出结果
     */
    Boolean logout();

    /**
     * 获取验证码
     *
     * @param randomStr 随机字符串
     * @return 验证码
     */
    String captcha(String randomStr);
}
